1. Field of the Invention
The present invention relates to systems and methods for transmitting, and in particular to a system and method for analyzing and managing the encoding of multiple data streams.
2. Description of the Related Art
Managing video quality and bandwidth efficiency have always been critical with regard to the distribution of video data streams. Yet, today we are entering a new more complex era that will allow distribution of massive numbers of programs to consumers when, where, and how they choose. New technologies such as DOCSIS (Data over Cable Service Interface Specification) Version 3.1 and IP-based distribution protocols will make managing bandwidth to ensure a high quality of experience even more challenging.
For example, the cable industry is migrating from the broadcasting of media programs using quadrature amplitude modulation (QAM) to delivering video services over the Internet using Internet Protocol (IP). DOCSIS 3.1, which is an international standard for transferring data over cable television systems and Hybrid Fiber-Coaxial (HFC) are expected to be the workhorses of this new paradigm. DOCSIS 3.1 provides raw bandwidth and huge gigaspeed data pipes, each of which could allow distribution of tens or even hundreds of individual IP-video programs at the same time. The question then arises as to how many channels (each transmitting one of the IP-video programs) of information should be carried in each pipe. The question is made complex by the fact that the unconstrained bit rate of a video program varies with both time and content, and to assure that a pipe has sufficient bandwidth to permit the peak bit rate to pass unconstrained would mean that the pipe is larger than required at all other times. This problem can be resolved by converting the unconstrained video stream into one that has a constant bit rate. This is accomplished by controlling the encoder to vary the quantization parameter over time so as to keep the bit rate of the encoded stream constant, a process known as constant bit rate encoding. Of course, when the quantization parameter is adjusted to reduce the bit rate, the resulting encoded video stream is of reduced quality. The problem can also be solved by statistically multiplexing the encoded data stream from multiple encoders. Since the bit stream from each such encoder is not likely to peak at the same time as the bit stream from other encoders, the averaging of the required bit rates smoothes out the peak bit rate requirements considerably.
Until recently, typically only a handful of simultaneous programs would share common bandwidth. Statistical multiplexing was used to dynamically allocate bandwidth to the various programs so as to equalize video quality across all channels and over time. Typically, channels that are difficult to encode are allocated more bandwidth, while channels having information that is easy to encode are allocated less bandwidth. An operator could—and usually did—construct statmux pools by hand strategically by choosing a balanced mix of hard-to-encode and easy-to-encode programs. With the very large number of programs enabled by DOCSIS 3.1 and IP protocols, assignment by hand becomes much more difficult, especially since optimal assignments can and do change over time.
Despite the widespread use of statistical multiplexing, there remains the problem of how a system operator can determine how to optimize the allocation of channels of video information to pipes. This disclosure describes a system and method for allocating programs and bandwidth to statmux pools for commercial programming. Further, the techniques and systems presented herein can also be useful in evaluating the video quality and compression efficiency for any system in which video programs share bandwidth with other video or non-video services such as voice and data, particularly the evaluation of and planning for distribution of multiple programs over shared bandwidth using adaptive bitrate protocols such as MPEGDASH, HLS, and Smooth Streaming.